package com.hzhc.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 卡口记录
 * </p>
 *
 * @author 功不唐捐
 * @since 2024-05-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("declare_car")
public class DeclareCar implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 货主
     */
    private String companyName;

    /**
     * 型号/规格
     */
    private String xhtype;

    /**
     * 件数
     */
    private Integer num;

    /**
     * 吨数
     */
    private String ton;

    /**
     * 车牌号
     */
    private String carNo;

    /**
     * 申报人
     */
    private String declarant;

    /**
     * 手机号
     */
    private String telephone;

    /**
     * 申报时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime planTime;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 是否删除
     */
    private Integer disable;

    /**
     * 客户id
     */
    private Long memberId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 委托Id
     */
    private Long ywOrderId;

    /**
     * 不限时间标志
     */
    private Integer timeLimit;

    /**
     * 集装箱A
     */
    private String cntrA;

    /**
     * 集装箱B
     */
    private String cntrB;

    /**
     * 货物A
     */
    private String hwnameA;

    /**
     * 货物B
     */
    private String hwnameB;

    /**
     * 类型  1未预约   0已预约
     */
    private Integer type;

    /**
     * 箱A理货状态 0未理货 10已理货
     */
    private Integer tallyFlag;

    /**
     * 计划A箱贝位
     */
    private String jhBaya;

    /**
     * 计划B箱贝位
     */
    private String jhBayb;

    /**
     * 委托号
     */
    private String orderNo;

    /**
     * 箱B理货状态  0未理货 10已理货
     */
    private Integer tallyFlagB;

    /**
     * 操作用户名
     */
    private String userName;

    /**
     * 箱况A
     */
    private String xkA;

    /**
     * 箱况B
     */
    private String xkB;

    /**
     * 出卡状态 0 未出卡 1 已出卡
     */
    private Integer outType;

    /**
     * 出卡时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime outTime;

    /**
     * 计划A箱区域
     */
    private String jhAreaa;

    /**
     * 计划B箱区域
     */
    private String jhAreab;

    /**
     * 业务类型
     */
    private String ywcode;

    /**
     * 进场车辆预约ID
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long vehicleId;

    /**
     * 出场车辆预约ID
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long vehicleIdB;

    /**
     * 箱尺寸A
     */
    private String cntrSizeA;

    /**
     * 箱尺寸B
     */
    private String cntrSizeB;

    /**
     * 箱A
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long jzxIdA;

    /**
     * 箱B
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long jzxIdB;

    /**
     * 箱A空重
     */
    private String efFlagA;

    /**
     * 箱B空重
     */
    private String efFlagB;

    /**
     * 是否再次提空标志 0未生成 1已生成
     */
    private Integer createFlag;
    /**
     * 提箱委托号
     */
    private String txOrderNo;

    /**
     * 关联数据id
     */
    private Long pid;

    /**
     * 进卡重量
     */
    private String jkWeight;

    /**
     * 出卡重量
     */
    private String ckWeight;
}
